import java.util.Arrays;

public class Code1362 {
    /**
     * 给你一个整数 num，请你找出同时满足下面全部要求的两个整数：
     * <p>
     * 两数乘积等于  num + 1 或 num + 2
     * 以绝对差进行度量，两数大小最接近
     * 你可以按任意顺序返回这两个整数
     * <p>
     * 来源：力扣（LeetCode）
     * 链接：https://leetcode.cn/problems/closest-divisors
     * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
     */
    public static void main(String[] args) {
        System.out.println(Arrays.toString(new Code1362().closestDivisors(
                15))); ;
//        System.out.println("aaa");
    }

    public int[] closestDivisors(int num) {
        int divisor = num == 1 ? num + 1 : num + 2;
        int i = (int) Math.sqrt(divisor);
        while (divisor % i > 1) {
            i--;
        }
        return new int[]{i, divisor / i};
    }
}
